Freya π¦
Website | Nightly Docs | Stable Docs | Book | Discord
Freya is a native GUI library for Rust powered by 𧬠Dioxus and π¨ Skia.
β οΈ It's currently work in progress and not usable for production, but you can already play with it! You can join the Discord server if you have any question or issue.
Sponsors π€
Thanks to my sponsors for supporting this project! π
Want to try it? π€
β οΈ First, see Environment setup.
Clone this repo and run:
cargo run --example counter
You can also try freya-template
Usage π
Add Freya and Dioxus as dependencies:
= "0.2"
= { = "0.4", = ["macro", "hooks"], = false }
Features β¨
- βοΈ Built-in components (button, scroll views, switch and more)
- π Built-in hooks library (animations, text editing and more)
- π Built-in devtools panel (experimental β οΈ)
- π§° Built-in headless testing runner for components
- π¨ Theming support (not extensible yet β οΈ)
- π©οΈ Cross-platform (Windows, Linux, MacOS)
- πΌοΈ SKSL Shaders support
- ποΈ Dioxus Hot-reload support
- π Multi-line text editing (experimental β οΈ)
- π¦Ύ Basic Accessibility Support (experimental β οΈ)
- π§©Compatible with dioxus-sdk and other Dioxus renderer-agnostic libraries
Goals π
- Performant and low memory usage
- Good developer experience
- Cross-platform support
- Decent Accessibility support
- Useful testing APIs
- Useful and extensible components and hooks
Status β
You can see the tracking issue to know what features are implemented and which ones are not, yet.